Housing Options Scotland
Design system · v1 · foundations

Colour, type and the components everything else is built from

The colour ramp comes straight from the brand designer's WCAG document — these are their tested values, not derived ones. What is designed here is the system on top: which colour does which job, which pairings are approved, and how every component behaves in every state.

The one constraint that shapes everything

None of the four core brand colours can carry white text at small sizes. So white is the reading background, the two dark shades do all the work that needs white text, and the four light tints do all the work that needs a colour field. Core red is reserved for large display moments only. Every pairing below has been checked.

Section one

Colour

Four brand families, each with a light tint, a core and a dark shade. Read the row of allowed text under every chip — that is the rule, and it is not negotiable.

1.1 The ramp

Body text sits happily here
Red tint · #fcc9ad Callouts, banding, quiet CTA panels. 4.71:1 with #58595b — AA all sizes
Large white only
HOS Red · #f15a29 Hero fields and display type. Never small print. 3.37:1 with white — 24px+ only
White text at any size
Dark red · #b14325 Primary action. Links. The workhorse. 5.68:1 with white — AA all sizes
Body text sits happily here
Blue tint · #e2f3f1 Reassurance notes. Hospital Housing Clinic. 6.1:1 with #58595b — AA all sizes
Dark text only
HOS Blue · #6cc8c3 Decorative fields, rules, illustration. No white text. White fails at every size
White text at any size
Dark blue-green · #284947 Secondary action. Dark panels. Footer. 9.85:1 with white — AAA
Body text sits happily here
Green tint · #c9e5c7 Positive notes, "what we can help with" lists. 5.18:1 with #58595b — AA all sizes
Body text sits happily here
Orange tint · #fed0a0 Announcement bar. Highlight rows. 4.92:1 with #58595b — AA all sizes
#4f8354
#b76f29
Dark green & dark orange Display accents and icons. Large white text only — never buttons.

1.2 Neutrals

Shadow #58595b is the brand neutral and carries all body text. The surface, border and ink values below are derived from it — they are not in the brand pack, so flag them if the brand designer wants a say.

#ffffffPage. The reading surface.
#faf8f6Warm surface. Section banding, cards.
#ece9e6Hairlines and card edges. Decorative only.
#767779Input borders. 4.49:1 — meets 1.4.11.
#58595bBody text. 7.01:1 on white.
#2f3031Headings. 13.2:1 on white.

1.3 Which colour does which job

Colour carries UI meaning, not service identity. There is no green Making Moves or orange Military Matters — that decision is already made. The one exception is the turquoise family, which belongs to Hospital Housing Clinic.

Job Colour Why
Primary actionDark red #b14325Only red that carries white text at button size.
Secondary actionDark blue-green #284947Calm counterweight; also the footer ground.
Links in body copyDark red #b14325, underlinedUnderline always — colour is never the only cue.
Links and CTAs on a tintDeep red #8e3520#b14325 drops to 3.8:1 on the red tint. The deeper shade clears 4.5:1 on all four tints and on white.
Hero and brand momentsCore red #f15a29Display type only, 24px and up.
Reassurance panelsBlue tint #c5e7e4Coolest, quietest tint. Feels like a steady hand.
Announcement barOrange tint #fed0a0Noticeable without alarm. Not a warning colour.
Hospital Housing ClinicBlue familyThe one sanctioned service association.

1.4 Never do this

These are the failures the old site was pulled up on, and the ones this palette invites. Shown here so nobody has to guess.

White on core green
Fails at every size. 2.13:1. The single easiest mistake to make here.
White on core orange
Fails at every size. Use dark text, or move to #b76f29.
Small white on core red
Fails below 24px. Big headline yes, button label no.
Core blue text on white
Fails. 1.97:1. Tints and cores are fields, never text.
Outlined button
Fails on core red. The label sits on the red, so it inherits red's 3.37:1 ceiling. On core red a secondary button is filled tint, never outlined.
Section two

Typography

Barlow throughout — no pairing. It is a low-contrast grotesque with open apertures and unambiguous letterforms, and adding a second family would only cost legibility for people the site exists to serve. Hierarchy comes from size, weight and space instead.

Base body is 19px at 1.7. That is deliberately larger than a typical charity site: the core audience is older and disabled people, and the reading surface is white. Everything scales fluidly down to a 34px H1 on mobile, and the page must survive 200% zoom without a horizontal scrollbar.

Display64 / 40px · 700 · 1.05 · -0.02em
Free housing advice
H148 / 34px · 700 · 1.1
What happens when you contact us
H236 / 28px · 700 · 1.2
Situations we can help with
H327 / 23px · 600 · 1.3
Talking it through with a broker
H422 / 20px · 600 · 1.4
Who this service is for
Lead24 / 21px · 400 · 1.5
Standfirsts and page intros. One or two sentences, never more.
Body19 / 18px · 400 · 1.7
Our service is free, and we work across the whole of Scotland. You can talk to us about buying, renting, adapting your home, sheltered housing or homelessness — and you don't need to have every answer ready before you get in touch.
Small17px · 400 · 1.6
Captions, card metadata, form hints. The floor for anything a person has to read.
Category label15px · 600 · sentence case
Client storyTracked uppercase eyebrows are not used anywhere on the site. They read as design language rather than as something a person would say, and they slow down screen readers. Labels above section headings are plain sentence-case text instead.

Measure

Body copy caps at 66 characters. Long-form inner pages sit in a 720px column with the sidebar beside it, never full-bleed text.

Sentence case

Every heading, every button, every nav item. The only capitals in the system are the eyebrow label, and it is never load-bearing.

Weights in use

400 body, 600 headings and UI, 700 H1 and display. Three weights, loaded once. No 300 — it thins out at small sizes.

Section three

Spacing, layout and shape

A 4px base. Space is the main tool for calm here — when a page feels cramped the answer is a bigger step, not a smaller font.

4
8
12
16
24
32
48
64
96
128

Container

1200px max, 32px gutters on desktop, 20px on mobile. 12 columns, 32px gap.

Section rhythm

96px between page sections on desktop, 56px on mobile. Adjacent tinted bands never touch — white always separates.

Radius

Pill is reserved for interactive elements only — buttons and filter chips. 12px on cards and panels, 8px on inputs, 4px on category labels, 0 on full-bleed bands.

Elevation

Flat by default. Cards use a 1px #ece9e6 edge; a soft shadow appears on hover only, so the page never looks busy at rest.

Tap targets

48px minimum on every interactive element, with 8px clear between neighbours. Above the 24px WCAG 2.2 floor on purpose.

Imagery

Real commissioned photography, 12px radius, no filters or duotones. People and homes, never abstract stock.

Icons

Outlined line icons, 40px, 1.7px stroke in #284947, rounded caps and joins. One concrete object per icon — a house, two people, a clipboard. No filled shapes, no illustration, nothing decorative next to the photography.

Cards in a grid

Equal height, with the link pinned to the bottom edge so links align across the row whatever the copy length. It is the difference between a composed grid and a ragged one.

Section four

Buttons

Pill shaped, 19px label at 600, 48px minimum height. One primary per view. Hover and focus are shown live — try tabbing through them.

Primary

Default · hover · active · focus
Disabled — avoid; prefer showing why.

Secondary

Tertiary, for paired actions.

On a dark panel

The focus ring inverts on dark: white outer, panel-coloured inner. It stays visible on every ground.

Sizes and text links

A text link with an arrow →

Arrow links do the quiet navigation work inside cards and lists, so pill buttons stay reserved for real actions.

Nothing else may look like a button

A pill shape is a promise that something happens when you press it. Metadata that happened to be pill-shaped made the real buttons harder to find, so times, categories and place names are now set as a 16px colour swatch with bold text, or as a square-cornered label.

10am to 12.30pm 1.30pm to 4pm

The swatch never carries meaning on its own — the text beside it always says what the colour is for.

Section five

Form fields

Labels above, always visible, never placeholders doing the labelling. Hints sit between the label and the field so they are read before the input, not after. Fields are 56px tall with a 2px #767779 border, which meets the non-text contrast rule.

Only if you would rather we rang you than emailed.
Enter an email address in the format [email protected]
You don't need to have every answer ready. A sentence or two is plenty to start.
Who is this enquiry for?

Before you start

This form will not time out, and you can complete it for yourself or someone else. Our service is free.

The Get Help form itself is built by Tay Fusion and is not being rebuilt. These tokens — 56px height, 2px #767779 border, 8px radius, labels above, this focus treatment — are what gets handed over so their form can be restyled to feel native.

Section six

Cards

Four variants cover every grid in the site. All share the same edge, radius and hover lift, so the client can mix them on a page without it falling apart.

A young man in a wheelchair at his desk at home Support for young disabled people Planning your first move into a place of your own, at your own pace. Making Moves → Signpost Worried about homelessness? Whatever your situation, you are in the right place. Here is where to start. Find help → A man standing outside his bungalow, smiling Client story 14 July 2026 "I finally have a front door I can get through" Gordon spent two years in a home that no longer worked for him. [Placeholder story.]
Adapting your home — easy read guide PDF · 1.2MB · 12 pages
Aiesha Marr Housing Options Broker

Download card and person card. Both reuse the same edge and hover as the image cards.

Section seven

Accordions, tabs and the announcement bar

Accordions are how a page gets more useful without getting longer. They start closed, they are keyboard operable, and the whole 64px row is the target — not just the words.

Adapting a home you already live in
We can talk through grants, occupational therapy assessments and what your landlord or council is responsible for — and stay with you while it happens.
Leaving hospital and needing somewhere suitable
Our Hospital Housing Clinic works with you, your family or the ward team.
Facing homelessness
You are in the right place. We can explain your rights and what your council must do.

Audience switch

The content it swaps sits here, in a labelled group the buttons point at.

Selection is carried by weight, colour and a 4px underline together — never colour alone.

These look like tabs but they are deliberately not built as an ARIA tab pattern. A real tablist promises arrow-key navigation between tabs and a panel for each one; half-declaring it is worse than not declaring it at all. These are two pressed-state buttons pointing at one labelled group, which is honest, needs no keyboard trickery, and behaves predictably with a screen reader.

Announcement bar

We're going on tour this autumn. Five cities, September and October. See the dates

Dismissible, remembered, never auto-rotating. One message at a time.

Filter chips

Section eight

The step sequence

The component the whole project turns on. Users could work out they were eligible but could not picture the service, and that stopped them getting in touch. This is the pattern that answers it — shown here as a system component; the full treatment lands on the service page.

What happens when you contact us

No forms to chase, no waiting rooms. Here is exactly what to expect, start to finish.

  1. You tell us a little about your situation

    Fill in our short form, or ring and leave a message. You don't need to have every answer ready.

  2. A real person gets in touch

    One of our brokers will contact you within [response time to confirm], by phone or email — whichever you asked for.

  3. We work out your options together

    A proper conversation about what you need and what is realistic — buying, renting, adapting, sheltered housing, or somewhere to go right now.

  4. We stay with you for as long as you need

    Applications, paperwork, phone calls to other organisations. We don't hand you a leaflet and wish you luck.

Our service is free · You can do this for someone else

Every number is a real ordered list item, so a screen reader announces "1 of 4". On mobile the numbers drop to 48px and the connecting rule stays — the sequence is the point, and it must survive the narrow column.

Section nine

Focus, motion and the accessibility floor

Focus ring

A double ring: 3px of the background colour, then 3px of #284947. It reads on white, on tints and on photography, and it never gets swallowed by a coloured button.

Focused

The old site was flagged for missing focus outlines. Never remove this without replacing it.

Skip link

First thing in the tab order on every page, visible the moment it takes focus.

Skip to main content

Motion

Transitions are 150ms and limited to colour, shadow and 2px shifts. The logo never animates — the rotating-mark idea was considered and rejected as dated and an accessibility risk. If something genuinely needs movement, use a short video the person chooses to play. Nothing autoplays, nothing loops.

WCAG 2.2 AA is the floorEvery pairing in this document is checked. Nothing ships that has not been.
200% zoom, no side-scrollEvery layout is fluid, and every fixed dimension has a fallback.
Headings never skipOne H1 per page. Sequential levels below it. Flagged on the old site, fixed here.
Colour is never aloneLinks are underlined, states carry shape or weight, errors carry text.

Still to confirm before build: the third impact figure (7 in 10 is our recommendation), sign-off on the remaining survey quotes (five are cleared, the rest are marked “check”), and the donation impact statements. The first two impact figures, the Get Help timescales and the “Supporting the sector” name (previously “Services for partners”, not finally agreed) are decided and documented in section ten.

Section ten

Quotes, video and telling people how long things take

Four components added after the client review. The first three exist because Housing Options Scotland's best evidence is what clients say about them, not what they can count. The fourth exists because the real answer to “how long will this take” turned out to be six weeks, and a number that size has to be designed, not just printed.

10.1 Client quote

Quotes come from the anonymous client survey, so there is no name and no portrait. That is a constraint worth leaning into — without a face to look at, the words have to carry it, so they are set large and given room. Never dress an anonymous quote up with a stock photo of a stranger.

They took the time to understand what I actually needed, and then they stayed with me until it was sorted.
A client, from our anonymous client survey
I had no idea where to start. I do now.
A client, from our anonymous client survey

Real <blockquote> inside a <figure>, with the attribution as the caption, always on the same light grey ground — one colour for quotes everywhere, so they read as the same voice across the site. No decorative quote marks — at this size the indent and the ground colour already say it is speech, and a giant apostrophe is the fastest way to make a charity site look like a template.

10.2 Impact: numbers and a voice together

This replaces the four-figure stats row. Two or three numbers carry the scale, one quote carries the meaning, and the quote gets the same visual weight as the numbers rather than being tucked underneath them. It also works if the numbers change or one gets dropped.

2,000+ People we helped in 2025 to 2026, right across Scotland.
31 of 32 Local authorities where we support clients.
I felt listened to for the first time in two years.
A client, from our anonymous client survey

If the quote rotates, it changes on load only — never on a timer. Text that moves while you are reading it is a genuine accessibility failure, and it is also just irritating.

Agreed at the 28 July meeting: clients helped (over 2,000 in 2025 to 2026) and local authorities covered (31 of 32). A third is recommended but not yet confirmed: 7 in 10 clients tell us they understand their housing options better after speaking with us. The out-of-five satisfaction scores stay in the annual report.

10.3 Video

The broker film does a lot of work across the site. It is a person explaining something, so the treatment stays quiet: a real still from the film, a clearly labelled play control with the running time, and a transcript link that is always visible — not hidden behind the player.

Gordon standing outside his bungalow with his arms folded, smiling
Karen, one of our brokers, on what happens after you get in touch. Read the transcript instead
Nothing plays on its ownNo autoplay, no muted background loops. The person decides.
Strip the YouTube chromeLoad on click, no related videos at the end, no channel branding. The client has asked for this before.
Captions and a transcript, alwaysNot optional for this audience, and the transcript link sits outside the player where it can be found.
Photo or video, same slotClient story blocks take either. The only difference is whether the play control is there.

10.4 Telling people how long they will wait

The Get Help form can take up to six weeks. That is a long time to admit to, and the temptation is to soften it or bury it. Both would be worse than saying it plainly — someone who is not warned will assume they have been forgotten and will either give up or send the form again.

Two rules make it work. First, the urgent route is a different door, not a faster queue — so it sits above the timeline as its own block, never as a footnote inside it. Second, never show the six weeks as a bare number. Show the stages, and name the reason for the longest one. People tolerate a wait they can picture.

If you are facing homelessness, you will not wait six weeks

Every enquiry that mentions homelessness is looked at within 24 hours and acted on if it needs to be. Say so in the form, and we will pick it up.

Get help now

What happens after you send the form

The whole thing can take up to six weeks. Here is where that time actually goes, so you are not left wondering.

  1. We read your form the same week

    You will get an email confirming it arrived.

  2. Anything urgent is pulled out within 24 hours

    Homelessness cases do not wait for the steps below.

  3. You are matched with a broker at the start of the month

    This is the part that takes the longest. We allocate enquiries once a month so that everyone gets a broker with time for them, rather than a quick reply and then silence.

  4. Your broker gets in touch to arrange a proper conversation

    They will listen, go through the options with you, and give you practical steps you can actually take.

Already sent a form in the last six weeks? Please do not send another one — it will not speed things up. Give us a ring or drop us an email instead.

0131 510 1567
[email protected]

10.5 Other places that can help

This used to be called “not the right fit”. It is not that, and it must not look like it — nobody is being turned away, they are being pointed at someone closer to them. So it uses the ordinary signpost card on white, sits mid-page rather than at the bottom, and the heading above it does the reassuring.

Fife and Aberdeen DPHS If you live in Fife or Aberdeen, they offer the same kind of support locally and know the area far better than we do. Visit their website → Scottish Veterans Residences If you are a veteran already living in their housing, they will be able to help you more quickly than we can. Visit their website →
The heading matters more than the cards Something like “others who might be closer to you”. Never “if we cannot help”, and never put this block last on the page — ending on a list of other organisations reads as a shrug.

10.6 The reusable Testimonial and Stat components

Quotes and figures are never typed into a page. Two shared components carry them, so a single update reaches every page at once.

Testimonial

Pulls from the central quote bank — now the real survey quotes HOS supplied. Filterable by theme (dignity, responsiveness, hope, independence and so on), by voice (client, funder, supporter) and by maximum length, and it only ever shows quotes flagged as cleared: five are signed off, the rest stay hidden until they are checked. Picks a fresh quote on each page load — never on a timer.

Stat

Reads from a single set of global values, updated roughly once a year: clients helped, local authorities covered, and the third measure once confirmed. Change the value once and every page showing it updates.

In the build these become a saved row or module fed from a global field, not copy typed into the page — the whole point is that nobody edits twelve pages when next year’s figures arrive.